In view of advancing technologies, the delivery of digitized media content over a network to end user computers has become commonplace. The term “media” refers to any information, including audio, video, data, text, or other content. To provide such content, communication protocols define how the digitized media content is exchanged over the network.
Digital representations of media content come in different types. These types are defined according to variables which can include file format, bit rate, compression algorithm, and/or digital rights management information associated with the media content. The type of digitized media content will also depend upon a number of factors, such as, the computing and/or networking technology used in the process of publishing.
Digitized media content types can also be categorized according to the type of physical medium that supports the storage of the media content. Digitized media types may also be categorized by the communication protocol or protocols used to transmit the media content. For example, in packet-switched networks such as the Internet, many layers of protocols are used such as, for example, Internet Protocol (IP), Transmission Control Protocol (TCP), User Datagram Protocol (UDP), and Real-Time Transport Protocol (RTP).
Transcoders are used to convert certain types of media content (source type) to another type of media content (destination type). This conversion is known as “transcoding,” which can involve a number of different conversion operations. Users incapable of accommodating the destination type of the transcoded files simply cannot access the content. As a result of the rapid development in media publishing technology, new internet and wireless device manufacturers must invest heavily in the transcoding of media content so that a variety of content can be experienced on new media playing devices as new destination types.
Conventional multi-type transcoding services are limited in that they can only divide media files into evenly split packets for processing, i.e., transcoding. For example, in a ten minute file that is 100 Mb, each minute of the file can only be partitioned into 10 Mb packets. Once the packets are equally divided, they are sent to the transcoder for processing. Such an even distribution, though, does not translate well to near real time. For example, in an on-demand transcoding environment, the system must wait for the first job to complete before informing the user that they can start streaming. In this case, as the transcoder works on a single job, this job must complete before a new job can enter the system. For this reason, it will take time (n) to process each job. Although this is acceptable in many circumstances, there may be circumstances where the results need to be streamed back to the client in a faster manner. This streaming could be a media stream, data stream or results for further/synchronized process.
Accordingly, there exists a need in the art to overcome the deficiencies and limitations described hereinabove.